package com.itheima.config;

import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;

import javax.sql.DataSource;

public class MyBatisConfig {
    /*<bean class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--要求：必须注入连接池对象,spring整合mybatis之后mybatis内部的连接池无法使用。-->
        <property name="dataSource" ref="dataSource"/>
        <!--配置别名-->
        <!--<property name="typeAliasesPackage" value="com.itheima.bean"/>-->
        <!--加载核心配置文件-->
        <!--<property name="configLocation" value="classpath:MybatisConfig.xml"/>-->
        <!--加载映射配置文件-->
        <!--<property name="mapperLocations" value="classpath:StudentMapper.xml"/>-->
     </bean>

    <!--3 配置MapperScannerConfigurer对象，
      作用1：扫描mapper接口所在的包，给Mapper接口创建代理对象，保存到spring容器中
      作用2：如果映射配置文件和mapper接口在同一个包下，并且映射配置文件的名称和mapper接口的名称一样，那么会自动加载
      -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.itheima.mapper"/>
     </bean>*/

    @Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean(@Autowired DataSource dataSource){
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource);
        return sqlSessionFactoryBean;
    }
}
